爬虫(二手房数据)
先导入requests模块以及bs4模块。
导入bs4模块(在安装插件的时候最好还是安装beautifulsoup4的插件,只有这个是官方的,要不其他民间的可能有病毒。)
import requests
import bs4
from bs4 import BeautifulSoup
先写个变量存放爬取对象(习惯用URL),这里用格式化字符串的方法批量获取100页的数据的网址
for a in range(1,101):
URL = f'https://cd.lia**njia.com/ershoufang/pg{
a}/'
由于有些网站有反爬机制,这里把爬虫伪装成浏览器。User-Agent以及后面的数据在你需要爬取的网站中右键检查,然后点网络(Network),点击All,点击刷新或者f5刷新出数据,随便单击一个在右边的Headers里面的最下面有User-Agent:
右键复制值(value)
Header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
请求地址获取响应结果,如果获取的状态码是200,表示可以继续:
resp = requests.get(url=URL, headers=Header)
if resp.status_code == 200:
将网页源代码转换成bs4数据类型:
soup1 = BeautifulSoup(resp.text, 'html.parser')
所需要的网页数据,右键查看目标具体路径,然后批量爬取,装到一个列表里面,元素还是bs4数据类型
li_list = soup1.select('body>div.content>div.leftContent>ul>li')
对li_list进行遍历(这里的attrs是获取标签的属性(href属性))得到每一个房源的网址:
for i in li_list:
house_href = i.select_one('li>a').attrs