菜菜子nn 2022-01-25 13:52 采纳率: 83.3%
浏览 40
已结题

为什么我的函数命令突然执行不了了呀?

昨天第一次用了成功了,然后再用就没反应了,不知道为啥,代码如下

# 1. 如何提取单个页面的数据
# 2. 上线程池,多个页面同时抓取
import requests
from lxml import etree
import csv
from concurrent.futures import ThreadPoolExecutor

result = []
f = open("data1.csv", mode="w", encoding="utf-8", newline="")
csvwriter = csv.writer(f)
def download_one_page(url):  # 拿到页面源代码
    headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
                      "Chrome/97.0.4692.99 Safari/537.36 Edg/97.0.1072.69"
    }
    resp = requests.get(url, headers=headers)
    html = etree.HTML(resp.text)
    table = html.xpath("/html/body/div[3]/div[1]/div/div[1]/ol")[0]
    trs = table.xpath("./li")  # [1:]  # 不要第0个数据
    # trs = table.xptah("./li[position()>1]")  # 不要第0个数据
    for li in trs:
        title = li.xpath("./div/div[2]/div[1]/a/span[1]/text()")
        rating = li.xpath("./div/div[2]/div[2]/div/span[2]/text()")
        oneresult = [title, rating]
        result.append(oneresult)
        #存放数据
        csvwriter.writerow([title, rating])
        f.close()
    print(url, "提取完毕")


if __name__ == "__main__":
    # 创建线程池
    with ThreadPoolExecutor(50) as t:
        for i in range(0, 250):
            # 把下载任务交给线程池
            t.submit(download_one_page, f"https://movie.douban.com/top250?start={i}&filter=")

    print("全部下载完毕")



报错信息如下,也不知道是不是算报错信息,每次运行代码时候都提示
而且你们看她只执行了最后的print,函数def里面的print直接忽略了

C:\Python\Python37\python.exe D:/文档/研究生阶段/python/爬虫/小试牛刀/线程池和进程池实战.py
C:\Python\Python37\lib\site-packages\requests_init_.py:104: RequestsDependencyWarning: urllib3 (1.26.8) or chardet (2.0.3)/charset_normalizer (2.0.10) doesn't match a supported version!
RequestsDependencyWarning)
全部下载完毕

Process finished with exit code 0

  • 写回答

3条回答 默认 最新

  • heianduck 2022-01-25 16:33
    关注

    img


    换个别的名字?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月5日
  • 已采纳回答 1月28日
  • 创建了问题 1月25日

悬赏问题

  • ¥25 关于##爬虫##的问题,如何解决?:
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误