自己的站点准备进入部署阶段了,不过内容很少,自己也没空每天去创建新文章,所以自己写了个爬虫,去爬取hupu的每天新闻,这样就省得我去每天更新网站了。
1:找网站的切入口
用开发者工具找网址2:编写程序
def collect_urls():
#我们以火箭队页面的新闻连接处为入口
page = 'https://nba.hupu.com/teams/rockets'
req = requests.get(page)
bs = BeautifulSoup(req.text,'html.parser')
#提取出这个页面上所有新闻的超链接a
targets = bs.select('div.team_news_a > ul > li > a')
#用于在后台打印获得的超链接地址
for link in targets:
print (link['href'])
#返回这个地址的集合,列表形式
return targets
def scrawl_info():
#调用上面的函数,来得到地址集合
urls = collect_urls()
for url in urls:
#遍历每个地址
req = requests.get(url['href'])
bs = BeautifulSoup(req.text,'html.parser')
#获取文章的题目
article_title = bs.find('h1','headline').get_text()
#定义文章的内容为字符串
article_content = ''
#将文章内部所有的p,都加载到文章的内容里去
content = bs.select('div.artical-main-content > p')
for c in content:
article_content += c.get_text()
#操作数据库,创建新文章
imported_article = Article.objects.create(article_title=article_title,article_content=article_content,user_id=1,team_id=1)
print (article_title)
print (article_content)
time.sleep(60)
return 'well done'
3:效果
如下图
抓取结果的后台显示
网友评论