利用requests以及etree爬取京東首頁30部手機信息並分別存儲csv文件以及excel文件

1.目標數據:(下面網頁首頁的30部手機部分信息)

(網址:https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&wq=%E6%89%8B%E6%9C%BA&pvid=8f341712482744078ed70c8710a4c722)
在這裏插入圖片描述

2.碼:

(requests,lxml,pands庫都可)

from lxml import etree
import requests

page_url="https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&wq=%E6%89%8B%E6%9C%BA&pvid=8f341712482744078ed70c8710a4c722"
headers={
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36'
}
res=requests.get(page_url,headers=headers)
res.encoding="utf-8"
html=etree.HTML(res.text)
lis=html.xpath('//ul[@class="gl-warp clearfix"]/li')
print(len(lis))
content=[]
for li in lis:
    price=li.xpath('//div[@class="p-price"]/strong/i/text()')[0]
    print(price)
    label=li.xpath('.//div[@class="p-name p-name-type-2"]/a/em/text()')[0].strip()
    print(label)
    detail_url="https:"+li.xpath('.//div[@class="p-name p-name-type-2"]/a/@href')[0].strip()
    print(detail_url)
    content.append((price,label,detail_url))


#存儲到csv(csv)和excel(pandas)裏面
import csv
with open("csv_spider.csv","w",newline="",encoding="utf-8") as f:       #寫入csv文件默認一行數據一行空;newline=""可以不空。
    writer=csv.writer(f)        #創建csv寫入對象
    writer.writerows([("價格","標籤","鏈接")])
    writer.writerows(content)

import pandas as pd
df=pd.read_csv("csv_spider.csv")       #文件的路徑
print(df)
df.to_excel("excel_spider.xlsx")


'''
拓展:直接創建excel表格並寫入數據:
data=pd.DataFrame({"price":["55","445"],"label":["spider","sss"]})
data.to_excel("demo.xlsx")
'''

3.效果:

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章