吴怡340 2021-12-08 12:51 采纳率: 100%
浏览 81
已结题

孔网里的书摊即将关闭,想获取自己在孔夫子旧书网中的卖家上书信息(包括书名、分类、品相、定价),我的初步代码如下

孔网里的书摊即将关闭,想获取自己在孔夫子旧书网中的卖家上书信息(包括书名、分类、品相、定价),我的初步代码如下,但是未能顺利爬取,在jupyter中也没报错,请帮我把代码中的问题找出来,谢谢~

import requests
from lxml.html import etree
import time
import csv
headers={
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36'
}
def kongfz_booksinfo(url):
    res = requests.get(url, headers=headers)
    selector = etree.HTML(res.text)
    contents = selector.xpath('//html/body/div[6]/div[2]/div[2]/div[3]/div[1]') #循环点
    
def contents():
    for content in contents:
        title = content.xpath('//*[@id="unsold_list_table"]/tbody/tr[1]/td[1]/div/div[3]/abs/text()')[0] #书名
        bookclass = content.xpath('//*[@id="unsold_list_table"]/tbody/tr[1]/td[2]/div/div[1]/p/text()')[0] #分类
        newly = content.xpath('//*[@id="unsold_list_table"]/tbody/tr[1]/td[3]/div[1]/div[1]/text()')[0] #品相
        price = content.xpath('//*[@id="unsold_list_table"]/tbody/tr[1]/td[4]/div[1]/div[1]/text()')[0] #定价
        writer = csv.writer(fp) 
        writer.writerow((title,bookclass, newly, price))
            
if __name__=='__main__':
    urls = ['https://seller.kongfz.com/shop/item.html#unsold_244'.format(str(i))for i in range(0,100)] #写csv首行
    with open('C://Users/Pekon/Desktop/kongfz.csv', 'a+', newline='', encoding='utf-8')as f: 
        writer = csv.writer(f) 
        writer.writerow(('title',  'bookclass', 'newly', 'price'))

for url in urls:
    kongfz_booksinfo(url)
  • 写回答

1条回答 默认 最新

  • Vae 东 2021-12-08 16:04
    关注

    网站里面访问.啥也没有

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月24日
  • 已采纳回答 2月24日
  • 创建了问题 12月8日

悬赏问题

  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥35 跳过我的世界插件ip验证
  • ¥15 抖音看过的视频,缓存在哪个文件
  • ¥15 自定义损失函数报输入参数的数目不足
  • ¥15 如果我想学习C大家有是的的资料吗
  • ¥15 根据文件名称对文件进行排序
  • ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓
  • ¥15 有人会用py或者r画这种图吗