python3爬虫(未完结)

一个简单的例子:爬取自己的csdn博客,统计每篇博客的访问量,制作一个柱状图,以访问量从大到小的方式显示。

1. 首先从"个人主页"爬取所有所有文章的链接

1.1 打开个人主页,右键->检查:可以看到每篇文章的链接挂在哪个标签的哪个属性下( <article>标签下的<a>标签中的href属性值即为每篇文章的链接 )

1.2 代码提取网页中的所有文章ip(我们可以发现,当页面内容过多时,需要下拉"加载",才能显示所有内容,所以这里需要一个工具模拟浏览器行为,自动滚动页面以加载更多内容。待完善)

python 复制代码
from bs4 import BeautifulSoup  #pip3 install beautifulsoup4
from urllib.request import urlopen

homePage_url="your_blog_link"  #你的csdn个人主页链接
homePage_html=urlopen(homePage_url).read().decode('utf-8')
soup=BeautifulSoup(homePage_html,features='lxml')

#1.查找所有的<article>标签
li_articles=soup.find_all('article')

#2.取出所有<article>标签下<a>中的href属性值
article_urls=[]
for item in li_articles:
    link=item.find_all('a')
    article_urls.append(link[0]['href'])
    print(link[0]['href'])

1.3 结果如下:

相关推荐
21439651 天前
如何利用RMAN修复逻辑坏块_VALIDATE CHECK LOGICAL验证块内结构损坏
jvm·数据库·python
qq_206901391 天前
如何使用 AWS Lambda 和 Python 获取 EMR 集群的标签列表
jvm·数据库·python
2301_777599371 天前
JavaScript中利用类语法模拟实现单例模式的方案
jvm·数据库·python
qq_342295821 天前
Bootstrap制作后台管理系统布局 Bootstrap如何搭建Dashboard框架
jvm·数据库·python
m0_640309301 天前
SQL报表容灾与备份设计_灾备恢复策略
jvm·数据库·python
a9511416421 天前
golang如何设计分布式ID生成系统_golang分布式ID生成系统设计指南
jvm·数据库·python
2301_782659181 天前
Go 中高效过滤结构体切片:基于用户名映射去重的最优实践
jvm·数据库·python
2301_813599551 天前
Golang怎么处理HTTP响应_Golang HTTP响应处理教程【对比】
jvm·数据库·python
m0_748839491 天前
C#怎么将集合分块处理_C#如何使用Chunk方法【实战】
jvm·数据库·python
阿拉斯攀登1 天前
20 个 Android JNI + CMake 生产级示例
android·java·开发语言·人工智能·机器学习·无人售货柜