爬取豆瓣图书网站的图书信息,并生成xlsx文档

 

这段代码是一个用来爬取豆瓣图书信息的脚本。

脚本首先定义了两个函数:get_url 和 get_data,分别用于获取分页网址和采集数据。

然后在 if __name__ == "__main__": 部分,脚本通过调用这两个函数来爬取数据。首先调用 get_url 函数获取了10个分页网址,然后使用 get_data 函数依次采集每个分页的数据。最后将采集到的数据存入 pandas 的 DataFrame,并将其保存为Excel文件。

需要注意的是,代码中使用了 requests 和 BeautifulSoup 这两个库来进行网页请求和HTML解析。此外,脚本中还设置了请求头信息和cookies信息,以模拟正常的浏览器请求。

代码可以分为以下几个部分进行分块分析:

  1. 导入库
import requests
from bs4 import BeautifulSoup
import pandas as pd

在这一部分中,导入了需要使用的库 requestsBeautifulSoup 和 pandas

  1. get_url 函数
def get_url(n):
    lst = []
    for i in range(10):
        ui = "https://book.douban.com/tag/%E7%94%B5%E5%BD%B1?start
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
12306网站上的信息,需要使用Python的网络虫技术。以下是一个简单的虫程序,可以12306网站上的火车票信息,并将它们保存到一个Excel文件中: 首先,需要安装一些Python库:requests和beautifulsoup4。可以使用以下命令安装: ``` pip install requests pip install beautifulsoup4 ``` 接下来,可以使用以下代码来12306网站上的火车票信息: ```python import requests from bs4 import BeautifulSoup import openpyxl # 设置要的网页链接 url = "https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2021-10-01&leftTicketDTO.from_station=SHH&leftTicketDTO.to_station=BJP&purpose_codes=ADULT" # 设置请求头,模拟浏览器访问 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36" } # 发送GET请求,获网页内容 response = requests.get(url, headers=headers) # 解析网页内容 soup = BeautifulSoup(response.text, "html.parser") # 从网页中提火车票信息 rows = [] for tr in soup.select("#queryLeftTable tr[data-traincode]"): row = [] row.append(tr["data-traincode"]) row.append(tr.select_one(".start-t a").text.strip()) row.append(tr.select_one(".end-t a").text.strip()) row.append(tr.select_one(".start-t + td").text.strip()) row.append(tr.select_one(".arrive-t + td").text.strip()) row.append(tr.select_one(".lishi + td").text.strip()) row.append(tr.select_one(".zy_num").text.strip()) row.append(tr.select_one(".ze_num").text.strip()) row.append(tr.select_one(".rw_num").text.strip()) row.append(tr.select_one(".yw_num").text.strip()) row.append(tr.select_one(".rz_num").text.strip()) row.append(tr.select_one(".yz_num").text.strip()) row.append(tr.select_one(".wz_num").text.strip()) rows.append(row) # 将火车票信息保存到Excel文件中 wb = openpyxl.Workbook() ws = wb.active ws.append(["车次", "出发站", "到达站", "出发时间", "到达时间", "历时", "一等座", "二等座", "软卧", "硬卧", "软座", "硬座", "无座"]) for row in rows: ws.append(row) wb.save("tickets.xlsx") ``` 在代码中,首先设置要的网页链接。在本例中,我们要2021年10月1日从上海到北京的火车票信息。然后,设置请求头,模拟浏览器访问。接着,发送GET请求,获网页内容,并使用BeautifulSoup解析网页内容。最后,从网页中提火车票信息,并将它们保存到Excel文件中。 需要注意的是,12306网站有反措施,如果请求频率过高,可能会被封IP或验证码拦截。所以,在12306网站上的信息时,需要注意控制请求频率,并处理验证码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张謹礧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值