打开链家网页:https://sh.lianjia.com/zufang/ :用F12以页面中元素进行检查
<a target="_blank" href="/zufang/pudong/">浦东</a>
<a href="/zufang/jinqiao/" target="_blank">川沙</a>
<a title="园西小区" href="/zufang/c5011000007323/" target="_blank">园西小区</a>
二 解析数据
解析数据是我们首先需要分配一块用于暂存数据的空间datalist ,然后就是对获取到的资源进行解析。这里我们再定义一个 data 用来存储解析出来的数据。我们解析的是HTML格式,所以我们使用的是html.parser,然后使用find_all函数查找符合的字符串,这里我们需要注意的就是要将我们查找的item条目转换成字符串格式,否则无法识别。使用re库通过正则表达式查找到指定的字符串后,运用data.append语句将字符串加入到data中。
三 储存数据
将网页爬的数据储存下来,接着把数据存入excel,定义函数,然后创建workbook对象和工作表,然后在工作表中创建前面爬取的条目,再向表中写入数据即可。
综合代码
import re #正则表达式,进行文字匹配
from bs4 import BeautifulSoup#网页解析,获取数据
import urllib.request,urllib.error #制定URL,获取网页数据
import xlwt #进行excel操作
import sqlite3 #进行SQLLite数据库操作
# 区域
findplace1 = re.compile(
r'<a href="/zufang/.*" target="_blank">(.*)</a>-<a href="/zufang/.* target="_blank">.*</a>-<a href="/zufang.*" target="_blank" title=".*">.*</a>') # 创建正则表达式对象,表示规则(字符串的模式)
findplace2 = re.compile(
r'<a href="/zufang/.*" target="_blank">.*</a>-<a href="/zufang/.* target="_blank">(.*)</a>-<a href="/zufang.*" target="_blank" title=".*">.*</a>')
findplace3 = re.compile(
r'<a href=&#