栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

利用多线程——爬取虎扑网信息内容——可写入word文档中(后续开发)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

利用多线程——爬取虎扑网信息内容——可写入word文档中(后续开发)

import os
from threading import Thread
from queue import Queue  # 导入队列库
from fake_useragent import UserAgent
path = os.getcwd() + "/fake_useragent_0.1.11.json"
ua = UserAgent(path=path)
import requests
from time import sleep
def xiancheng():
    # 如果不为空,则往下执行 非空则退出循环,下面已经扔进去数据了,所以不为空
    #只要里面有数据,它就会不停的拿
    while not urlque.empty():
        url = urlque.get()  #拿出urlque放入队列里的
        print(f'正在获取{url}页面数据')
        #print(f'正在获取第{i}页数据')
        headers = {'User-Agent': ua.chrome}
        resp = requests.get(url, headers=headers)
    #获取resp的json格式 get数据里data的内容
        for d in resp.json().get('data'):
            print(f'标题:{d.get("topicName")}  id:{d.get("tid")}  content:{d.get("content")}')
        sleep(3)
    #返回码是不是200 不是二百为错误
        if resp.status_code==200:
            print(f'成功获取第{url}页数据')
if __name__ == '__main__':
    # 创建一个队列,不然多线程每次拿的都是同一个数据
    urlque = Queue()
    for i in range(1, 11):  #对网页页数进行遍历生成多页网址
        url = f'https://www.hupu.com/home/v1/news?pageNo={i}&pageSize=50'
        urlque.put(url)  # 把生成的网址扔进url队列,上面线程get取走就可以了
    for a in range(5):  #创建多少线程
        t1 = Thread(target=xiancheng)
        t1.start()

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/468655.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号