from lxml import etree
import requests
import csv
import time
def spider():
# 定義爬蟲頭部
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
# 使用for回圈構造前10頁的URL,并且GET請求下來
pre_url = 'https://shenzhen.qfang.com/sale/f'
for x in range(2, 4):
html = requests.get(pre_url + str(x), headers=headers)
print(html.status_code)
# print(html.content.decode('utf-8'))
time.sleep(2)
# 初始化etree
selector = etree.HTML(html.text)
# /html/body/div[4]/div/div[1]/div[4]/ul/li
# 獲取房源串列
# /html/body/div[4]/div/div[1]/div[4]/ul/li
house_list = selector.xpath("/html/body/div[4]/div/div[1]/div[4]/ul/li")
print(house_list)
for house in house_list:
apartment = house.xpath("div[2]/div[1]/a/text()")[0]
print(apartment)
# /html/body/div[4]/div/div[1]/div[4]/ul/li[1]/div[2]/div[2]/p[1]
house_layout = house.xpath('div[2]/div[2]/p[1]/text()')[0]
# /html/body/div[4]/div/div[1]/div[4]/ul/li[1]/div[2]/div[2]/p[2]
area = house.xpath('div[2]/div[2]/p[2]/text()')[0]
# /html/body/div[4]/div/div[1]/div[4]/ul/li[1]/div[2]/div[3]
region = house.xpath('div[2]/div[3]/a/text()')[0]
total_price = house.xpath("div[3]/p/text()")[0]
item = [apartment, house_layout, area, region, total_price]
data_writer(item)
print('正在抓取', apartment)
def data_writer(item):
with open('qfang_ershoufang.csv', 'a', encoding='utf-8', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(item)
if __name__ == '__main__':
spider()
不出現任何內容。。。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/162143.html
標籤:其他
