网站分析
为了方便爬取,所以选择了手机版的简版网易新闻网址。
获取新闻链接列表的网址为http://3g.163.com/touch/article/list/BA8J7DG9wangning/1-40.html
其中1-40表示获取列表的当前页数,爬取列表时只需修改页数即可。
爬取过程
获取新闻链接地址
使用requests包读取新闻列表页面,然后使用正则表达式提取出其中的新闻页面链接,返回urls列表
def getList(url):
li = requests.get(url)
res = r'url":"http:.*?.html'
urls = re.findall(res,li.text)
for i in range(len(urls)):
urls[i] = urls[i][6:]
return urls
获取新闻内容
使用requests获取到新闻页面的内容,然后使用BeautifulSoup包解析web内容。
def getNews(url):
url = url[:-5]+"_0.html"
ss = requests.get(url)
soup = BeautifulSoup(ss.text,"html.parser")
title = soup.title.string[:-6].encode('utf-8')
time = soup.find("div","about").contents[0][