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

如何做求婚网站html动态页面代码

如何做求婚网站,html动态页面代码,百姓网招聘,简网站开发平台题目 链接 爬虫往往不能在一个页面里面获取全部想要的数据,需要访问大量的网页才能够完成任务。 这里有一个网站,还是求所有数字的和,只是这次分了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/56344/

相关文章:

  • 汽车制造行业网站模板skxy wordpress
  • 十堰网站建设联系电话h5创建网站
  • 免费制作永久个人网站怎么做全屏网站
  • 黄页网络的推广网站有哪些短视频seo优化排名
  • 做细胞激活的母液网站黄岛建设局网站
  • 电商网站建设与运维需要的软件十堰学校网站建设
  • 怎么开发手机网站wordpress google收录
  • 龙华建网站多少钱网站空间位置是什么
  • 厦门 微网站建设公司哪家好网站制作技术方案
  • 品牌自适应网站建设wordpress时间代码
  • 余杭区网站建设设计公司中国网页设计欣赏
  • 网站设计和网站建设防网站黑客
  • 深圳市住房和建设局网站住房保障服务网站seo在线检测
  • 南阳公司网站制作网站地图 html
  • 九江市做网站的公司把网站做静态化是什么意思
  • 音乐网站建设费用软件开发和网站开发
  • 网站交互图片怎么做的青岛模板建站
  • 温州在线制作网站优秀简历模板
  • 哪个做砍价活动的网站好网站开发php和c语言区别
  • 衡州网站建设seo宝安区住房和建设局网站
  • 烟台高新区建设局网站小网站广告投放
  • 教育云平台网站建设河北网站开发哪家好
  • 正保建设工程教育网站凡科投票
  • 专注徐州网站开发衡水注册公司
  • 哪里可以学网站开发建设工程交易中心是什么
  • 网站静态化网上帮做一些小事赚零花钱的网站
  • 网站内容页301如何做如何建wap网站
  • 沧州做网站哪家公司好杭州微网站建设
  • 最经典最常用的网站推广方式企业网站排名优化公司
  • 为什么网站浏览不是做的那样网站标题栏做多大