使用urllib和bs4实现简单的爬虫程序
接触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 = 'https://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('抓取完成!=====================================================')
还是比较简单的,不过这里面没有做什么异常处理,后面我们慢慢的进行完善!