感谢关注天善智能,走好数据之路↑↑↑
欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!
对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。
消失了一段时间,这段时间在CSDN阅读了不少关于Python爬虫的文章,也学习了秦璐老师《七周成为数据分析师》系列的Python内容,主要是关于强大的pandas,后面的可视化课程还没学习~所以这里的可视化都只能用Power BI来绘制,后面会再改进和完善。
下面就直入主题,写一写Python爬取58同城广州房源+可视化分析的过程啦。
一、数据爬取
爬虫这一块是利用requests来实现的,并通过BeautifulSoup4实现解析。这里我参考了CSDN博客文章《python爬虫租房信息在地图上显示》https://blog.csdn.net/qq_36091581/article/details/76944053
1.我选取的是58同城上广州地区各个价格区间的个人房源。
2.这里我进行了两层爬虫,第一层是爬取房源列表的数据,爬到的每条房源数据都为其设置一个ID号,并爬下房源的标题、地址、Url等数据。
第二层爬取则是根据第一层生成的房源ID号和爬到的每个房源链接,进入每个房源URL并抓取其详细信息。
下面是获取详细信息的部分代码,通过对网页的解析,进而爬取出具体数据:
# 通过bs4获取对应的网页
time.sleep(3)
print("fetch:" + house_url)
response = requests.get(house_url, headers=headers)
html = BeautifulSoup(response.text, "html.parser", exclude_encodings="utf-8") //使用html.parser进行解析
house_title_node = html.select(".house-title")
if not house_title_node:
continue
house_title = html.select(".house-title")[0].select("h1")[0].string.strip() //房源标题
#print("=========title:" + house_title) //这里包括下面的每次打印是为了测试是否出错
house_price = html.select("b.f36")[0].string //房源价格
if html.select("span.c_333")[0].string:
pay_method = html.select("span.c_333")[0].st