Python爬虫-----爬取某阁小说

本文介绍了使用Python进行网络自动化操作和爬虫数据爬取,特别是针对某阁小说的抓取。首先介绍了所需的库和环境设置,如selenium、tqdm、BeautifulSoup等。接着详细讲解了如何进行web操作搜索小说,存储结果,并获取具体小说的URL。然后,解析小说页面,提取每章的链接和章节名,最后将内容写入TXT文件。完整代码可供分步操作学习。
摘要由CSDN通过智能技术生成

很早以前刚接触python的时候就知道python可以做爬虫,然后自己就学习了下,再借鉴网上大佬的一些经验,写了这么一篇文章。水平有限还请各位大佬莫要见笑,其中有什么问题,以及可优化的地方,也请大佬们提出来,共同学习一起进步!

这篇文章问两个部分web网页自动化操作爬虫数据爬取
因为我借鉴大佬的部分是爬虫那一部分,他只能给特定的url来获取相应的数据,我加入了搜索在选择具体的小说的功能,索引加上了web相关的操作

准备相关的库,以及环境

安装 selenium
安装 tqdm https://blog.csdn.net/DU_Python/article/details/109532477 (自卖自夸一手)
安装 BeautifulSoup
下载 chromedriver 下载地址 http://npm.taobao.org/mirrors/chromedriver/ 一般对应你的谷歌浏览器版本下载就好

  • 首先打开网站笔趣阁,这里加了属性,使浏览器在后台运行
  • 进行web操作,搜索小说将得到的结果存为字典
# _*_ coding=utf-8 _*_
import requests
import time
from tqdm import tqdm
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By


def input_novel_name(novel_name):
    """搜索输入的书名,返回一个书名和相应链接的字典"""
    # 设置浏览器为后台运行模式
    base_url = 'https://www.xsbiquge.com/'
    option = webdriver.ChromeOptions()
    option.add_argument('headless')
    # 以后台运行的方式打开浏览器
    browser = webdriver.Chrome(r'C:\Users\Administrator\PycharmProjects\untitled\spider\chromedriver.exe',
                               options=option)  # 括号内第一个参数为Chromedriver的本地位置
    # 访问网站
    browser.get(base_url)
    # 设置隐式等待
    wait = WebDriverWait(browser, 20, 0.2)
    # web操作的元素定位点
    input_locator = (By.XPATH, "//input[@id='keyword']")  # 搜索框定位
    button_locator = (By.XPATH, "//input[@class='button']")  # 搜索按钮定位
    e = wait.until(expected_conditions.presence_of_element_located(input_locator))  # 等待元素可见
    e.send_keys(novel_name)  # 输入小说名
    b = wait.until(expected_conditions.element_to_be_clickable(button_locator))  # 等待元素可以点击
    b.click()

    try:
        browser.find_element_by_xpath('//img')  # 先做一个判断,看结果页是否包含我们目标页面的元素
        link_name = []  # 存储搜索到的书名
        link_herf = []  # 书名对应的链接
        # 保存整个页面我们需要的内容(每一条结果的title和herf)
        for link in browser.find_elements_by_xpath("//a[@class='result-game-item-title-link']"):
            link_herf.append(link.get_attribute('href'))  # 获取herf属性内容
            link_name.appe
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍一下如何使用 Python 爬虫爬取房产数据并保存到本地。 首先,您需要选择一个合适的网站来进行爬取。例如,可以选择链家网、安居客等房产网站。然后,您需要分析该网站的页面结构和数据请求方式,确定需要爬取哪些数据,以及如何获取这些数据。 接着,您可以使用 Python 的 requests 库来发送 HTTP 请求,获取网页内容。然后,可以使用 BeautifulSoup 库来解析网页内容,提取需要的数据。 最后,您可以使用 Python 的 Pandas 库将数据保存到本地的 Excel 或 CSV 文件中。以下是一个示例代码: ```python import requests from bs4 import BeautifulSoup import pandas as pd # 发送 HTTP 请求获取网页内容 url = 'https://bj.lianjia.com/ershoufang/' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.content, 'html.parser') # 解析网页内容,提取需要的数据 house_list = soup.find_all('div', {'class': 'info'}) data = [] for house in house_list: name = house.find('div', {'class': 'title'}).text.strip() price = house.find('div', {'class': 'price'}).text.strip() area = house.find('div', {'class': 'houseInfo'}).text.strip() data.append([name, price, area]) # 将数据保存到本地文件 df = pd.DataFrame(data, columns=['名称', '价格', '面积']) df.to_excel('house_data.xlsx', index=False) ``` 这是一个简单的示例代码,您可以根据您需要爬取的数据和网站的不同来进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值