接触Python有段时间了,一直都听说Python写爬虫多么的强大,俺之前也使用其他语言写过爬虫程序,今天就来使用Python来练习练习,目的是爬取吾八哥网(Http://www.5bug.wang)首页所有的文章内容标题,链接,作者,以及内容信息。使用到了urllib和bs4模块,其中bs4模块需要提前安装一下,安装方法为执行命令:pip install bs4,非常简单的!下面贴出我的练习代码:import urllib.request
import re
import bs4
#获取首页html内容
url_home = 'http://www.5bug.wang'
response = urllib.request.urlopen(url_home)
html = response.read().decode('utf8')
#使用正则表达式来匹配所有的文章链接
soup = bs4.BeautifulSoup(html, 'html.parser')
pattern = 'http://www.5bug.wang/([\s\S]*)\.html'
links = soup.find_all('a', href=re.compile(pattern))
url_set = set()
for link in links:
url_set.add(link['href'])
#根据抓取到的文章链接,来进一步抓取文章页面具体信息
for url in url_set:
response = urllib.request.urlopen(url)
html = response.read().decode('utf8')
soup = bs4.BeautifulSoup(html, 'html.parser')
page = soup.find('div',{'class', 'content'})
url = url
title = page.find('h1').get_text()
author = page.find('h4').get_text()
content = page.find('article').get_text()
#print(title, url, author, content)
print(title, url, author) #为了截图,不打印具体的文章内容信息
print('抓取完成!=====================================================')
还是比较简单的,不过这里面没有做什么异常处理,后面我们慢慢的进行完善!以上代码,运行截图如图: