Newnotes
2021-03-23 20:01
采纳率: 33.3%
浏览 93
已采纳

python 爬取网站分页不能得到真正页面,提示该问路径不合法,如何解决?

在用python requests 方式,直接访问 http://permit.mee.gov.cn/permitExt/xkgkAction!xkgk.action?xkgk=91211302788765710W001Q   提示请您访问<a href="http://permit.mee.gov.cn">permit.mee.gov.cn</a>,点击许可信息公开查询企业排污许可证信息,谢谢。  但是在浏览器中可以正常访问。请问应该如何修改代码?感谢

# coding=gbk


from tkinter import *  # 导入窗口控件
import tkinter.filedialog
import requests

cookie="JSESSIONID=32BD87A386D79C8A6A0E427EF9975BE6; _gscu_1697192173=08947271qw7xsd90; Hm_lvt_0f50400dd25408cef4f1afb556ccb34f=1608947274; echat_referrer_timer=echat_referrer_timeout; JSESSIONID9002C=CDDDEEB25180581FFDBC32071E89002C; paiwu80_cookie=45380249; es.echatsoft.com_12555_encryptVID=Ty9CowZosDSdslUqCeh4Sg==; es.echatsoft.com_12555_chatVisitorId=1283263338; echat_firsturl=http://permit.mee.gov.cn/permitExt/defaults/default-index!getInformation.action; echat_firsttitle=全国排污许可证管理信息平台-公开端; echat_referrer=; echat_referrer_pre="
cookies={i.split("=")[1]:i.split("=")[1] for i in cookie.split("; ")}  #将复制浏览器的COOKIE进行格式化

headers = {"Accept": "text/html,application/xhtml+xml,application/xml;", "Accept-Encoding": "gzip",
           "Accept-Language": "zh-CN,zh;q=0.8",
            "Cache-Control": "no-cache",
            "Connection": "keep-alive",
            "Content-Length": "141",
            "Content-Type": "application/x-www-form-urlencoded",
            "Cookie": cookies,
            "DNT": "1",
            "Host":"permit.mee.gov.cn",
            "Origin": "http://permit.mee.gov.cn",
            "Pragma": "no-cache",
            "Referer": "http://permit.mee.gov.cn/perxxgkinfo/syssb/xkgg/xkgg!licenseInformation.action",
            "Upgrade-Insecure-Requests": "1",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
           }

addurl="91211302788765710W001Q"
url = "http://permit.mee.gov.cn/permitExt/xkgkAction!xkgk.action?xkgk=" + addurl
datas = {"xkgk": "getxxgkContent",
         "dataid": addurl
         }
r = requests.get(url,data=datas)
print(r.text)
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 执笔墨飘烟 2021-03-23 20:46
    已采纳

    你的headers带了个寂寞,cookie也格式化了个寂寞= =

    headers里面的cookie需要字符串的,不需要格式化

    格式化后的cookie直接使用cookie的方式携带就好了

    评论
    解决 1 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题