项目代码

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)

项目特点:

【转载】同步加载、异步加载、延迟加载

爬取的网站链接

KnewOne

需要下载代码的可以到我的GitHub上下载 https://github.com/FightingBob/-Web-Crawler-training  如果觉得可以,请给我颗star鼓励一下,谢谢!

最新文章

  1. 跳入linux的第一个坑-因为安装Ubuntu导致的硬盘被误格的恢复.(记TestDisk使用记录)
  2. 设计模式 “续”
  3. hdu 2335 Containers
  4. java爬虫实战
  5. could not read data from '/Users/xxxx/myapp-Info.plist'
  6. Android学习系列(22)--App主界面比较
  7. android host
  8. C-重定向
  9. 【中国人大:天地人大BBS站】迟到的求职感悟
  10. Oracle EBS SLA 详解
  11. 生活日历NABCD需求分析
  12. Saiku资源帖
  13. Python股票分析系列——数据整理和绘制.p2
  14. OpenLDAP一登录系统就修改密码
  15. [UWP 自定义控件]了解模板化控件(2.1):理解ContentControl
  16. hdu4749 kmp改进
  17. Python网络编程,粘包、分包问题的解决
  18. Python学习笔记第十二周
  19. Python+Selenium笔记(十二):数据驱动测试
  20. js中对象转化成字符串、数字或布尔值的转化规则

热门文章

  1. GitLab 项目创建后地址由Localhost改为实际IP的方法
  2. shiro学习笔记_0500_授权
  3. redis持久化之 aof日志
  4. Mysql5.7 半同步改进
  5. linux安装教程以及使用时遇到的问题和解决方法
  6. Eclipse空白包的显示和隐藏
  7. maven 错误:读取 xxx.jar 时出错;invalid LOC header (bad signature) 1 错误
  8. Timer控件
  9. Spring.Net---2、IoC/DI基本概念
  10. spring boot2.0