爬取某app的古诗文翻译注释等

本文讲述了作者如何绕过网站限制,利用fiddler抓取App接口,使用Python正则表达式爬取了十万条古诗词及翻译注释。虽然在数据库设计时存在一些问题,但最终成功获取了诗词、曲、四书五经等全面内容。
摘要由CSDN通过智能技术生成

本来是想爬取某网站的古诗词,但是这个网站的有限制,只能爬取十页的数据,再多就接口500,然后发现该网站有app端,然后通过fiddler抓取接口,爬取了十万左右的古诗词。
通过python的正则表达式爬取的,没用框架,而且设计表的时候也有一些问题不过嫌麻烦没优化,话不多说上代码。
因为当初写了好几个忘了哪个是全的了,然后找了个差不多的粘贴上了。
最后把整个app的诗词曲四书五经等等,翻译注释赏析全爬取出来了。

import re,os
import pymysql
import requests
import random
import time
requests.packages.urllib3.disable_warnings()

proxy_list = [{
   'http': '118.113.246.131:9999'}, {
   'http': '36.249.109.18:9999'}, {
   'http': '114.104.142.65:9999'},
              {
   'http': '113.128.31.217:9999'},
              {
   'http': '171.12.112.155:9999'}, {
   'http': '1.197.16.218:9999'}, {
   'http': '182.34.36.100:9999'},
              {
   'http': '36.249.119.34:9999'}, {
   'http': '175.43.59.4:9999'}, {
   'http': '113.124.87.65:9999'},
              {
   'http': '125.108.81.211:9999'},
              {
   'http': '175.42.68.194:9999'}, {
   'http': '183.166.97.166:9999'}, {
   'http': '180.118.128.112:9000'},
              {
   'http': '60.13.42.151:9999'}, {
   'http': '182.149.83.194:9999'},
              {
   'http': '60.205.132.71:80'}, {
   'http': '120.79.64.147:8118'}, {
   'http': '121.232.194.144:9000'},
              {
   'http': '171.35.160.55:9999'},
              {
   'http': '36.248.129.82:9999'}, {
   'http': '171.15.48.137:9999'}, {
   'http': '163.204.245.210:9000'},
              {
   'http': '117.88.5.116:3000'},
              {
   'http': '144.123.71.3:9999'}, {
   'http': '125.108.81.211:9999'}, {
   'http': '120.234.138.102:53779'},
              {
   'http': '175.42.68.194:9999'}, {
   'http': '120.83.105.247:9999'},
              {
   'http': '112.111.217.56:9999'}]
def get_json(url):
    proxy = random.choice(proxy_list)
    response = requests.get(url, verify=False, proxies=proxy)
    if response.status_code==200:
        return response.json()
    else:
        while(response.status_code!=200):
            print(str(response.status_code))
            print('等待1秒..')
            time.sleep(1)
            proxy = random.choice(proxy_list)
            response = requests.get(url, verify=False, proxies=proxy)
        return response.json()


def get_Yijson(url):
    proxy = random.choice(proxy_list)
    response = requests.get(url, verify=False, proxies=proxy)
    if response.status_code==200:
        return response.json()
    else:
        return ''


#爬取作者姓名,和生平
def get_author():
    authorList = []
    for i in range(1,101):
        json = get_json('https://app.gushiwen.cn:443/api/author/Default10.aspx?c=&page='+ str(i
爬取大众点评App的数据,首先需要明确目标,确定要爬取的是哪些数据。 在开始之前,需要安装一个网络爬虫框架,例如Python中常用的Scrapy或者Beautiful Soup。接着,需要使用HTTP请求模块发送请求,并获取服务器返回的响应数据。 大众点评App的数据分布在多个页面上,因此需要先获取数据的URL链接。可以利用浏览器的开发者工具或抓包工具分析App的网络请求,找到返回所需数据的请求URL。然后,可以通过发送HTTP请求获取到这些数据。 在发送请求时,需要模拟App的用户行为,例如添加User agent头信息,模拟不同设备类型的请求。通过观察请求的返回数据,可以找到相应数据的位置和格式,然后使用相应的方法提取所需数据。 获取到数据后,可以将其存储到本地文件或数据库中,以备后续分析和使用。在存储时,可以选择使用CSV、JSON或者数据库等形式。 需要注意的是,任何爬取行为都需要遵守相关法律法规,尊重网站的规则和隐私政策。在大众点评App的数据爬取中,应尊重目标网站的Robots协议,并保持对网站的正常访问频率,避免给目标网站带来不必要的压力。 最后,数据爬取是一个持续的过程,网站结构和规则可能会随时变化,因此要及时调整爬虫的代码以适应变化。同时,需要注意数据的合法性和使用方式,遵循数据使用的道德和法律规定。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值