鱼C论坛

 找回密码
 立即注册
查看: 1926|回复: 4

求助一下这个爬虫不报错也没有任何结果 求大佬给我看看

[复制链接]
发表于 2022-6-12 15:39:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import time
import pandas as pd
import requests
import schedule
from lxml import etree

header = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/101.0.4951.54 Safari/537.36 Edg/101.0.1210.39'}


def get_msg():
    print('I am working...')
    url = 'https://www.cgmodel.com/'
    page = requests.get(url, headers=header)
    tree = etree.HTML(page.text)
    msg_dic = {}
    for i in range(1, 11):
        name = tree.xpath('//ul[@class="sale_ranking"]/li[{}]/p/a'.format(i))[0].text
        price = tree.xpath('//ul[@class="sale_ranking"]/li[{}]/span'.format(i))[0].text
        msg_url = url + tree.xpath('//ul[@class="sale_ranking"]/li[{}]/p/a/@href'.format(i))[0]
        msg_page = requests.get(msg_url)
        msg_tree = etree.HTML(msg_page.text)
        tags = []
        a = 1
        while True:
            try:
                tags.append(msg_tree.xpath('//*[@id="modeldeals"]/div[2]/div/a[{}]'.format(a))[0].text)
            except:
                break
            else:
                a += 1
        msg_dic[name] = {'price': price, 'tags': tags}

    df = pd.DataFrame(msg_dic).transpose()
    df.to_csv('test.csv', mode='a+', encoding='utf-8', header=False)


# print(df)
schedule.every(30).minutes.do(get_msg)
while True:
    schedule.run_pending()
    time.sleep(1)
%5NJJJ_{MSO)KWM[XTAB(_G.png
K$`L@1GQ%KDV{P6HWJO}SO9.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-12 15:51:52 From FishC Mobile | 显示全部楼层
得看有没有反爬
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-12 18:02:00 | 显示全部楼层
捕获.PNG
我这里可以正常相应
是不是你的IP被封了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-13 00:27:40 From FishC Mobile | 显示全部楼层
Lai013 发表于 2022-6-12 18:02
我这里可以正常相应
是不是你的IP被封了

你复制下你代码我看下喃
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-13 09:55:41 | 显示全部楼层
  1. import time
  2. import pandas as pd
  3. import requests
  4. import schedule
  5. from lxml import etree

  6. header = {
  7.     'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
  8.                   'Chrome/101.0.4951.54 Safari/537.36 Edg/101.0.1210.39'}


  9. def get_msg():
  10.     print('I am working...')
  11.     url = 'https://www.cgmodel.com/'
  12.     page = requests.get(url, headers=header)
  13.     tree = etree.HTML(page.text)
  14.     msg_dic = {}
  15.     for i in range(1, 11):
  16.         name = tree.xpath('//ul[@class="sale_ranking"]/li[{}]/p/a'.format(i))[0].text
  17.         price = tree.xpath('//ul[@class="sale_ranking"]/li[{}]/span'.format(i))[0].text
  18.         msg_url = url + tree.xpath('//ul[@class="sale_ranking"]/li[{}]/p/a/@href'.format(i))[0]
  19.         msg_page = requests.get(msg_url)
  20.         msg_tree = etree.HTML(msg_page.text)
  21.         tags = []
  22.         a = 1
  23.         while True:
  24.             try:
  25.                 tags.append(msg_tree.xpath('//*[@id="modeldeals"]/div[2]/div/a[{}]'.format(a))[0].text)
  26.             except:
  27.                 break
  28.             else:
  29.                 a += 1
  30.         msg_dic[name] = {'price': price, 'tags': tags}

  31.     df = pd.DataFrame(msg_dic).transpose()
  32.     df.to_csv('test.csv', mode='a+', encoding='ANSI', header=False)#"utf-8"乱码改了"ANSI"


  33. # print(df)
  34. schedule.every(10).seconds.do(get_msg)#改了等待时间测试用
  35. while True:
  36.     schedule.run_pending()
  37.     time.sleep(1)

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-22 20:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表