接《python爬虫-豆瓣数据爬取-正则匹配》中的案例五,将爬取的豆瓣租房信息网址和标题保存为html文件。
脚本修改如下:
# -*-coding:utf-8 -*-
import requests
import re
from bs4 import BeautifulSoup
#直接用正则表达式找出链接中包含/group/topic/的所有链接,即为发布的所有租房信息
r=requests.get("/group/futianzufang/")
# print r.text
soup=BeautifulSoup(r.text,'html.parser')
print '获取链接中包含/group/topic/的所有链接'
links=soup.find_all('a',href=pile(r"/group/topic/"))
n=0
res_data={}
fout=open('output.html','w')
fout.write("")#设置输出的html文件的格式
fout.write("
")
fout.write("
for link in links:
print link.name,link['href'],link.get_text()
res_data['url']=link['href']#将租房链接赋值给res_data的url
res_data['content']=link.get_text() #将租房标题赋值给res_data的content
fout.write("
")
fout.write("
%s"% res_data['url']) #将爬取的租房链接写入到html文件中
fout.write("
%s"% res_data['content'].encode('utf-8')) #将爬取的租房标题写入到html文件中
fout.write("
")
n+=1
print '共发布了%d条租房信息'%n
fout.write("
")
fout.write("")
fout.write("")
查看output.html文件: