爬蟲還是爬狗?

在上周之前,我從未聽過爬蟲,甚至連爬蟲兩個字怎麼寫都不知道,但是在這幾天的學習下,漸漸對爬蟲也有瞭一點認識,也可以寫點簡單的代碼,以下是我在趕集網爬在出售的狗狗的信息,有什麼問題,也希望有大神能給予指導,謝謝

# -*-encoding:'utf-8'-*-

# 爬取趕集網售狗信息

import requests

from lxml import etree

import time

import csv

import random

from pip._vendor.msgpack.fallback import newlist_hint

def spider():

headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'}

prefix_url='【西安寵物狗_西安寵物狗市場_寵物狗價格及圖片】-西安趕集網'

for i in range(1,2):

# 拼出完整的url

url=prefix_url+str(i)

# print(url)

# 偽裝成瀏覽器,獲取頁面

html=requests.get(url,headers=headers)

# 獲取selector,對text文件使用etree.HTML(html)進行解析

selector=etree.HTML(html.text)

# 獲取狗的列表

dog_list = selector.xpath('//*[@id="wrapper"]/div[4]/div[12]/dl')

# print(dog_list)

for dog in dog_list:

title=dog.xpath('dt/div[2]/p/a/text()')[0]

sex_age=dog.xpath('dt/div[2]/div/p/text()')[0]

price=dog.xpath('dd[2]/span/text()')[0]

shijian=dog.xpath('dd[1]/text()')[0]

print(title,sex_age,price,shijian)

# 保存狗的信息

item=[title,sex_age,price,shijian]

data_write(item)

# 每爬一次休息1-2秒

time.sleep(random.randint(1,2))

# 定義保存文件

def data_write(item):

with open('dog.csv','a',encoding='utf-8',newline='')as file:

writer=csv.writer(file)

writer.writerow(item)

# 定義主函數

if __name__=='__main__':

spider()

perfix_url 原本是一個網址,但是寫到這裡不知道為什麼自動變成瞭漢字超鏈接,大傢知道是網址就行瞭。這次的代碼就這樣,等我下次再學到一個新的技能的時候,我再跟大傢分享哦

赞(0)