import requests
from lxml.html import etree
import csv
response=requests.get("网站的url地址")
# 获取的网页中文是乱码的,需要转码
response.encoding="gbk"
# 将str类型的html页面转化为html格式(element)
html=etree.HTML(response.text)
# 获取总数
el_count=html.xpath('//*[@id="resultList"]/div/p/span')
# 定义保存csv 文件的 名字和路径
file=open("workinfo.csv","w",newline="")
write=csv.writer(file)
# 遍历,获取公司名,职位名,地区,薪资,发布时间
for i in range(0,len(el_count)):
item=[]
index=4+i
work_name=html.xpath('//*[@id="reList"]/div['+str(index)+']/p/span/a/@title')
company_name=html.xpath('//*[@id="reList"]/div['+str(index)+']/span/a/@title')
a_text=html.xpath('//*[@id="reList"]/div['+str(index)+']/span/text()')
# print(a)
item.append(work_name)
item.append(company_name)
item.append(a_text)
write.writerow(item)
file.close()
备注:
requests.get("").text 获取到的html内容如果包含中文出现乱码,可以参考:https://www.cnblogs.com/IMWU/p/10956124.html 这篇文章,作者 提供的解决方法 很棒