Newnotes 2021-03-23 20:01 采纳率: 50%
浏览 101
已采纳

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条)

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度