python入门吧 关注:2,022贴子:14,948
  • 1回复贴,共1
求助

网上代码一点点抄的,为什么有时候能运行,有时候返回none呀

只看楼主收藏回复

求修改,想大众点评爬点数据用,还没写完卡这一步了。过完清明把之前的代码拉出来跑跑 莫名其妙就跑起来了(成功的几次好像等了有一会才返回结果,不成功基本就直接返回none)


IP属地:江苏来自Android客户端1楼2024-04-07 12:00回复
    import requests
    import parsel
    url = "https://www.dianping.com/search/keyword/12/0_%E5%A5%B6%E8%8C%B6"
    headers = {"Cookie":"fspop=test; cy=12; cye=yangzhou; _lx_utm=utm_source%3Dbing%26utm_medium%3Dorganic; _lxsdk_cuid=18ea04fdc54c8-02d321957d88f3-4c657b58-190140-18ea04fdc54c8; _lxsdk=18ea04fdc54c8-02d321957d88f3-4c657b58-190140-18ea04fdc54c8; _hc.v=2860d9c6-9fb1-47ca-6946-18cf73ae7c9e.1712086572; Hm_lvt_602b80cf8079ae6591966cc70a3940e7=1712086573; s_ViewType=10; qruuid=dc49a6db-63b1-44d4-87d5-2498a42c071b; WEBDFPID=5zz47u6xv5zy58990yz15065yx79658481vz95uu632979589x827y0v-2027446578518-1712086578518QMKUOGAfd79fef3d01d5e9aadc18ccd4d0c95079619; dplet=4667d4a09f9050944d6f5e3e49d14230; dper=0202152524ff440bf24635c31b62cf2cbe86e42f682b4f69b301dbdac37724336643214e831c3669ae9bc90ef1b644fe4a2938cd088c142ee72b00000000fa1e0000311a69d02e1592ca35e2265950ff81f27ebe1787bcbb77cfab98e4e361d4ee9a11bf7a823daba7f4a3fc727371e6ca27; ll=7fd06e815b796be3df069dec7836c3df; ua=dpuser_5813567730; ctu=e17574535bf069719554c50109cd307691a94b3f070faff0b05ce57e367708d2; Hm_lpvt_602b80cf8079ae6591966cc70a3940e7=1712086659; _lxsdk_s=18ea04fdc54-74a-a2a-cc5%7C%7C98",
    "Host":"www.dianping.com",
    "Referer":"https://www.dianping.com/search/keyword/12/0_%E9%A5%AE%E6%96%99",
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/网页链接 Safari/537.36 Edg/122.0.0.0"}
    response = requests.get(url, headers=headers)
    #print(response.text)
    selector = parsel.Selector(response.text) #解析数据
    #获取所有详情页的一个url地址,通过css
    href = selector.css(".shop-list ul li .pic a::attr(href)").getall()
    #print(href) #返回列表,得到地址
    for i in href:
    html_data = requests.get(url=i, headers=headers).text #对详情页url发送请求并获得数据
    selector_1 = parsel.Selector(html_data) #解析数据
    title = selector_1.css(".shop-name::text").get()#获取一个店名
    count = selector_1.css("#reviewCount::text").get()#获取一个评论
    price = selector_1.css("#avgPriceTitle::text").get()#获取一个价格


    IP属地:江苏来自Android客户端2楼2024-04-07 12:00
    回复