当前位置: 首页 > news >正文

榆林网站建设公司电话梅州百度seo公司

榆林网站建设公司电话,梅州百度seo公司,什么网站做执法仪,网站界面ui设计国家开放大学答案题目 链接 爬虫往往不能在一个页面里面获取全部想要的数据,需要访问大量的网页才能够完成任务。 这里有一个网站,还是求所有数字的和,只是这次分了1000页。 思路 找到调用接口 可以看到后面有个参数page来控制页码 代码实现 import reques…

题目
链接

爬虫往往不能在一个页面里面获取全部想要的数据,需要访问大量的网页才能够完成任务。
这里有一个网站,还是求所有数字的和,只是这次分了1000页。

思路

  • 找到调用接口

-
可以看到后面有个参数page来控制页码

代码实现

import requests
import reurl = 'http://www.glidedsky.com/level/web/crawler-basic-2'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.54','Cookie': ''
}res = 0
for i in range(1, 1001):temp_url = url + '?page=' + str(i)response = requests.get(temp_url, headers=headers)html = response.textpattern = re.compile('<div class="col-md-1">.*?(\d+).*?</div>', re.S)n_list = re.findall(pattern, html)for n in n_list:res += int(n)print(f'Result: {res}')

使用多线程实现更快爬取:

import requests
import re
import threadingurl = 'http://www.glidedsky.com/level/web/crawler-basic-2'
total_threads = 10  # 设置线程数量
lock = threading.Lock()  # 创建一个锁,用于线程间的数据同步
res = 0def worker(thread_id):global resfor i in range(thread_id, 1001, total_threads):temp_url = url + '?page=' + str(i)response = requests.get(temp_url, headers=headers)html = response.textpattern = re.compile('<div class="col-md-1">.*?(\d+).*?</div>', re.S)n_list = re.findall(pattern, html)with lock:for n in n_list:res += int(n)threads = []
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.54','Cookie': ''
}# 创建并启动线程
for i in range(total_threads):thread = threading.Thread(target=worker, args=(i,))thread.start()threads.append(thread)# 等待所有线程执行完成
for thread in threads:thread.join()print(f'Result: {res}')

使用异步函数

import aiohttp
import asyncio
import reurl = 'http://www.glidedsky.com/level/web/crawler-basic-2'
total_requests = 1000  # 总共地请求次数
concurrent_requests = 10  # 同时并发的请求数量
res = 0headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.54','Cookie': ''
}async def fetch_url(session, temp_url):async with session.get(temp_url, headers=headers) as response:html = await response.text()pattern = re.compile('<div class="col-md-1">.*?(\d+).*?</div>', re.S)n_list = re.findall(pattern, html)return [int(n) for n in n_list]async def main():async with aiohttp.ClientSession() as session:tasks = []for i in range(1, total_requests + 1):temp_url = url + '?page=' + str(i)tasks.append(fetch_url(session, temp_url))if len(tasks) >= concurrent_requests or i == total_requests:results = await asyncio.gather(*tasks)for n_list in results:for n in n_list:global resres += ntasks = []loop = asyncio.get_event_loop()
loop.run_until_complete(main())print(f'Result: {res}')

时间统计:同步的方式大概80s,多线程和异步时间差不多都是20s左右

http://www.yayakq.cn/news/716905/

相关文章:

  • 网站的图书资源建设传奇类型的网游
  • 玫瑰在线 网站建设内容wordpress网站音乐放不全
  • 国内好的网站设计住房和城乡建设网官网八大员报名
  • 烟台搭建网站建设制作html背景颜色代码怎么写
  • 淘宝cms建站上海著名的网站制作公司
  • 潍坊网站建设建站开题报告网站开发方法
  • 品牌宣传网站制作制作一个购物网站要多少钱
  • 网站去哪里做河南城乡建设厅网站
  • 世界杯网站建设字体图标网站
  • 网站开发与维护招聘石家庄专业网站设计电话
  • 网站的特点有那些网站的展现形式
  • 杭州专业做网站的内蒙包头网站开发
  • html 如何嵌入网站页面怎样自建网站
  • 网站建设网站制作提供服务做网站的费用记哪个科目
  • 岳阳网站建设哪里便宜张家港做网站收费标准
  • 网站怎么做参考文献佛山专业建站公司
  • 虹口品牌网站建设wordpress 主题 免费
  • 免费进入正能量的网站学校模板图片
  • 百度生成手机网站个人网站备案简介怎么写
  • 微站小程序我国婚纱网站建设的现状
  • 东莞网页设计培训学校潮州网站seo
  • 种子网站开发多少钱推广运营平台
  • 地板网站代码中国建设银行湖北省分行网站
  • 国外室内设计网站大全网站申请微信支付
  • 专业网站建设公司兴田德润放心镇江做网站的公司
  • 焦作网站建设的公司自助建网站软件平台
  • 济南好的网站建设公司哪家好大型自助建站平台
  • dede网站安全设置防挂马教程十堰网站制作
  • 石家庄网站建设刘华阿里云做网站需要环境
  • 网站域名解绑南宁百度 - 网站正在建设中