用 Python 编写爬取招标网站的代码,网站为 https://www.ccgp-hainan.gov.cn/cgw/cgw_list.jsp,网页解析用 XPath 方法,爬取的字段为标题,链接,正文;并将爬取的数据写入自动生成 CSV 格式的文件中,编码为 UTF-8 的代码
时间: 2023-04-03 14:01:52 浏览: 162
你好,我可以回答这个问题。以下是 Python 爬取招标网站 https://www.ccgp-hainan.gov.cn/cgw/cgw_list.jsp 的代码,使用 XPath 方法解析网页,爬取标题、链接和正文,并将数据写入自动生成的 CSV 文件中,编码为 UTF-8:
```python
import requests
from lxml import etree
import csv
url = 'https://www.ccgp-hainan.gov.cn/cgw/cgw_list.jsp'
# 设置请求头
headers = {
'User-Agent': 'Mozilla/5. (Windows NT 10.; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58..3029.110 Safari/537.3'}
# 发送请求
response = requests.get(url, headers=headers)
# 解析网页
html = etree.HTML(response.text)
# 获取标题、链接和正文
titles = html.xpath('//ul[@class="ewb-info-items"]/li/a/text()')
links = html.xpath('//ul[@class="ewb-info-items"]/li/a/@href')
contents = html.xpath('//ul[@class="ewb-info-items"]/li/span/text()')
# 将数据写入 CSV 文件
with open('data.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerow(['标题', '链接', '正文'])
for title, link, content in zip(titles, links, contents):
writer.writerow([title, link, content])
```
希望能对你有所帮助。
阅读全文