weixin_41429161 2019-07-31 15:14 采纳率: 100%
浏览 681
已采纳

爬虫方面的问题,返回不了网页里的信息。

response返回不了东西,运行结果只有一个None,我打印了一下data,
发现啥都 没有。因为这个网站是外网,返回不到结果是不是与这个因素有关呢
还希望大佬 能跑一下,解答一下我的问题。

from lxml import html
import requests

etree = html.etree
class News(object):

def __init__(self):

    self.url ='https://www.chinatimes.com/newspapers/260118'
    self.headers ={
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"

    }

def get_data(self,url):
    response =requests.get(url,headers=self.headers)
    return response.content

def parse_data(self, data):
    # 创建 element对象
    data = data.decode()
    html = etree.HTML(data)
    el_list = html.xpath('/html/body/div[2]/div/div[2]/div/section/ul/li/div/div/div/h3/a/font')

    data_list = []

    for el in el_list:
        temp = {}
        temp['title'] = el.xpath('')[0]
        temp['link'] = 'https://www.chinatimes.com' + el.xpath("./@href")[0]
        data_list.append(temp)
     try:
        # 获取 下一页的url
        next_url = 'https://www.chinatimes.com' + html.xpath('/html/body/div[2]/div/div[2]/div/section/nav/ul/li[7]/a/@href')[0]

    except:
        next_url = None
    return data_list, next_url



def save_data(self, data_list):
    for data in data_list:
        print(data)

def run(self):
    # url

    next_url = self.url
    while True:

        data = self.get_data(next_url)       
        data_list, next_url = self.parse_data(data)
        self.save_data(data_list)
        print(next_url)

        if next_url == None:
            break

if name == '__main__':
news =News()
news.run()

  • 写回答

3条回答 默认 最新

  • jxlyin 2019-08-01 16:46
    关注

    url = 'https://www.chinatimes.com/newspapers/260118'
    headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"}
    response = requests.get(url, headers=headers)

    print(response.content)

    返回正常
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题