Mr.404error 2023-10-12 10:21 采纳率: 50%
浏览 6

Python爬虫在循环时出现问题


import re

import requests
from lxml import etree

for yeshu in range(1 - 10):
    headers = {
        'Cookie': 'RK=y61dTIjstB; ptcz=e1a34663298e67d55ae474b577490f22a8e2af5d7f66ca07ac2b036522ff1ad9; ptui_loginuin=3595655855; pgv_pvid=7949088409; pac_uid=0_081d6fef79033; iip=0; qq_domain_video_guid_verify=a58f3572825f9a82; PHPSESSID=vh78fg11b0ecccr6hd899qg294; logTrackKey=a2b7f0ff45564d8794c50d6a5511701b; secToken=1b3a4955b3c7ad03e48b73c9eda0cc67; Hm_lvt_ab19911ff0c788613a31e85bb39089e2=1697070049; fuid=83461368976347b1b228c8d3c9c7f7f2; Hm_lpvt_ab19911ff0c788613a31e85bb39089e2=1697070761',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.60',
        'Referer': 'https: // book.qq.com / book - detail / 39828602',
    }
    url = requests.get(f'https://book.qq.com/book-read/39828602/{yeshu}')
    root = etree.HTML(url.content.decode('utf-8'))
    biaoti = root.xpath('//div[2]/h1/text()')[0]
    neiton = re.findall('<p>(.*?)</p>', url.text)
    newneiron = '\n'.join(neiton)
    print(newneiron)
    print(biaoti)
    with open(biaoti + '.txt', mode='a', encoding='utf-8') as f:
        f.write(biaoti)
        f.write('\n')
        f.write(newneiron)

为什么我加上for in循环就输出不了了?

  • 写回答

4条回答 默认 最新

  • 无序繁星 2023-10-12 10:33
    关注

    你range用错了,你传了1-10 就是-9,默认从0开始,如果传一个数字比1小就不会执行,直接结束

    for yeshu in range(1,10):
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月12日