手把手 网络爬虫:用爬虫爬取贝壳房租网西安的租房信息
前为讲解,代码放在最后。
我这次的任务是爬取西安的租房数据,并处理为csv文件形式,首先我们需要策划步骤。
- 创建一个csv文件用来储存收集信息。
- 需要原网址的html和主要信息的代码文本。
- 利用python爬虫抓取数据并进行一系列处理。
- 写入文件中。
url等信息的获取
我们需要得到的有header,url等,因此首先去贝壳网西安.
火狐浏览器下,我们只需要f12进入调试,进入网络,并任意发起一个请求,就能得到一个User-Agent如下:
得到头部信息之后我们还需要一个url,我观察了几页的url发现,他们的结构为,除去第一页外皆为
https://xa.zu.ke.com/zufang/“pagex”/#contentList
的形式。这便很好处理了。我们只需要一个循环变量为页数的for循环便可以遍历完五十页的数据。具体操作看代码。
外层便只有这些信息了,接下来我们需要精准的每一个房间的信息。任意点入一个房源,利用火狐的检查元素获得其信息的位置。
这样便得到了房价信息,同理我们需要其他房屋信息,检查元素
这些信息都已经获取后,便可以开始码代码了。
# -*- coding: utf-8 -*-
#将爬取的信息写入csv文件中
import csv
import re
from bs4 import BeautifulSoup
import requests
score_file="E:\\桌面\\西安租房.csv"
head = ['房源编号', '所在城市', '所在区县', '所在街道或地区', '小区名称', '面积', '租赁方式', '房间朝向', '月租', '计费方式', '室', '厅',
'卫', '入住', '租期', '看房', '所在楼层', '总楼层', '电梯', '车位', '用水', '用电', '燃气', '采暖'] # 写入文件的标题行
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'}
with open(score_file, 'w', newline='') as file_write:
filewriter = csv.writer(file_write)#创建csv写入对象
filewriter.writerow(head)#写入第一行
for page in range(50):#以页数为迭代单元
url = 'https://xa.zu.ke.com/zufang/pg' &#