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

公司网站建设接单精准引流推广

公司网站建设接单,精准引流推广,网站开发与维护说明,建设网站 托管 费用题目 链接 爬虫往往不能在一个页面里面获取全部想要的数据,需要访问大量的网页才能够完成任务。 这里有一个网站,还是求所有数字的和,只是这次分了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.dinnco.com/news/87274.html

相关文章:

  • 怎样找到免费的黄页网站怎么开网站详细步骤
  • 网站开发运营公司绩效提成方案在运营中seo是什么意思
  • 国外网站排名前十郑州seo优化外包顾问
  • 怎么做一键添加信任网站做外贸怎么推广
  • dw制作asp网站模板下载怎么做seo网站关键词优化
  • 杭州定制网站长沙网络推广哪家
  • 家居网站建设效果三亚网络推广
  • 商标设计网课厉害的seo顾问
  • html5期末大作业个人网站制作做seo用哪种建站程序最好
  • 做网站排名优化是怎么回事嘉峪关seo
  • 百度网站建设是什么意思百度关键词推广教程
  • 公众号平台网站开发引擎优化
  • 网站上做皮肤测试广告公司网上接单平台
  • 网站负责人信息表百度收录入口在哪里查询
  • 班级网站怎么做ppt模板精准营销方式有哪些
  • ie浏览器哪个做网站稳定免费网站注册com
  • 网站如何做公安部备案南京seo整站优化技术
  • 比较好的网站开发教学网站搜索引擎优化的目的是
  • 做网站分流百度商家平台客服电话
  • 网站的建设服务最佳搜索引擎磁力
  • 网站公司怎么做运营网站如何推广出去
  • 国内自适应网站济宁seo公司
  • 类qq留言网站建设成品短视频app下载有哪些软件
  • 眉山市住房和城乡建设局网站站长之家的seo综合查询工具
  • 常州网站外包营销网站建设哪家快
  • 安徽旅游集团网站建设微信社群营销推广方案
  • 自己的电脑做网站服务器 买的服务器 速度网络黄页推广软件哪个好
  • 腾宁网络做网站互联网企业营销策略
  • 网站建设总结心得北京网站建设运营
  • 大连网站建设优化自媒体引流推广