Python 爬虫练习项目——异步加载爬取
2024-09-22 01:54:59
项目代码
from bs4 import BeautifulSoup
import requests
url_prefix = 'https://knewone.com/discover?page='
infos = [] # 获取单个页面数据
def getAPage(url,data = None):
web_data = requests.get(url)
soup = BeautifulSoup(web_data.text,'lxml')
# print(soup) images = soup.select('header > a > img')
titles = soup.select('section > h4 > a')
links = soup.select('a.cover-inner')
likes = soup.select('span.fanciers_count') if data == None:
for image,title,link,like in zip(images,titles,links,likes):
data = {
'image':image.get('src'),
'title':title.get_text(),
'link':'https://knewone.com' + link.get('href'),
'like':int(like.get_text())
}
print(data) infos.append(data)
# 获取多个加载的数据
def getMorePages(start,end):
for url_suffix in range(start,end):
getAPage(url_prefix + str(url_suffix))
print('---------------已经获取{}条数据---------------'.format(len(infos)), sep='\n')
# 获取点赞排名前几的数据
def getInfosByLikes(order,infos =infos):
infos = sorted(infos,key= lambda info:info['like'],reverse = True)
for info in infos[:order]:
print(info['like'],info['title'],info['image'],info['link']) getMorePages(1,4) getInfosByLikes(5)
项目特点:
【转载】同步加载、异步加载、延迟加载
爬取的网站链接
需要下载代码的可以到我的GitHub上下载 https://github.com/FightingBob/-Web-Crawler-training 如果觉得可以,请给我颗star鼓励一下,谢谢!
最新文章
- 跳入linux的第一个坑-因为安装Ubuntu导致的硬盘被误格的恢复.(记TestDisk使用记录)
- 设计模式 “续”
- hdu 2335 Containers
- java爬虫实战
- could not read data from '/Users/xxxx/myapp-Info.plist'
- Android学习系列(22)--App主界面比较
- android host
- C-重定向
- 【中国人大:天地人大BBS站】迟到的求职感悟
- Oracle EBS SLA 详解
- 生活日历NABCD需求分析
- Saiku资源帖
- Python股票分析系列——数据整理和绘制.p2
- OpenLDAP一登录系统就修改密码
- [UWP 自定义控件]了解模板化控件(2.1):理解ContentControl
- hdu4749 kmp改进
- Python网络编程,粘包、分包问题的解决
- Python学习笔记第十二周
- Python+Selenium笔记(十二):数据驱动测试
- js中对象转化成字符串、数字或布尔值的转化规则