赞
踩
↑↑↑关注后"星标"Datawhale
每日干货 & 每月组队学习,不错过
Datawhale干货
作者:牧小熊,华中农业大学,Datawhale原创作者
本文约3000字,建议阅读15分钟
审稿人:鱼佬,Datawhale成员,武汉大学硕士,腾讯广告算法大赛冠军选手。
最近爬取了武汉蛋壳公寓的租房信息,并对租房信息进行了清洗及可视化操作。
并构建相应模型来分析武汉蛋壳公寓房租价格与房屋特征的相关性挖掘。
后台回复【实践项目】可进项目实践交流群。
我们爬取了蛋壳公寓的租房网站,将区域位置选择为武汉,通过爬虫访问网页获得房屋的相关信息,并输出到csv文件中。
方法:requests、lxml、BeautifulSoup
- import requests
- from lxml import etree
- from bs4 import BeautifulSoup
- import random
- import time
- from tqdm import tqdm
- import csv
我们定义了几个爬虫伪装头,每次访问时随机选择不同的访问头对网页进行访问。
通过使用不同的访问头,能一定程度上保护爬虫。
- #这里增加了很多user_agent
- #能一定程度能保护爬虫
- user_agent = [
- "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
- "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
- "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0",
- "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; InfoPath.3; rv:11.0) like Gecko",
- "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
- "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)",
- "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)",
- "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
- "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
- "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11",
- "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11",
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
- "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)",
- "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; TencentTraveler 4.0)",
- "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)",
- "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; The World)",
- "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)",
- "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)",
- "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser)"]
访问蛋壳公寓的网站,并获得每个房屋的链接。这里我们使用了BeautifulSoup对网页进行解析,并通过便签及class对房屋信息进行定位,同时获得每个房租的超链接。
通过自定义函数get_house_info来访问房屋链接,并返回房屋相关信息的列表,将获得的列表导出到csv文件中,需要注意的是,为了避免对对方服务器造成过大的压力,我们每次访问中间需要休息几秒。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。