爬取赶集网
我就只爬取了一页,url规律还是很好找的 http://cq.ganji.com/zufang/pn1/ 数字pn的变化
import requests
import re
from lxml import html
import time
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}
def title(resp): #这里是获得标题的名字 因为数据采取后 会多一个 ‘’ 所以下面有个删除操作 删除第一个元素 pat='.*?
titles=re.compile(pat,re.S).findall(resp)del titles[0] return titles
def door_model(resp): #这是获得户型 就多写了 正则和xpath#pat='.*?(.*?)' #door_models=re.compile(pat,re.S).findall(resp)txt=html.etree.HTML(resp)door_models=txt.xpath('//dd[@class="dd-item size"]/span[1]/text()')return door_models
def price(resp): #这里是获得价格 txt = html.etree.HTML(resp) #只是转为html格式,因为xpath只能识别html格式(这个是我自己方便这么叫的格式,其实我也不知道这个是什么格式)prices = txt.xpath('//dd[@class="dd-item info"]/div/span[1]/text()')return prices
def main():url='http://cq.ganji.com/zufang/pn1/'resp=requests.get(url,headers=headers).textdoormodels = door_model(resp)#print(doormodels)prices =price(resp)#print(prices)titles=title(resp) for i in range(0,len(titles)): #这里其实也可以把下面也封装为一个函数t=titles[i]d=doormodels[i]p=prices[i]data={'标题':t,'户型':d,'房价(月/元)':p} print(data)
if __name__=='__main__':main()
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
