吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1162|回复: 3
收起左侧

[新手问题] 爬虫小白求助

[复制链接]
chenduizhang 发表于 2020-6-10 13:03
最近自学了一段时间爬虫,想练练手,爬下自己城市的公交线路,写完后 一直报错,也不知道问题出在哪了,请各位大神帮忙看下,小弟不胜感激涕零~~~
代码如下:
import requests
from lxml import etreeheaders = {
        'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) \
            Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400'
}

items = []

def parse_car_num(c):
        tree = etree.HTML(c)
        car_name = tree.xpath('//div[@class="info"]/h1/text()')
        run_time = tree.xpath('//ul[@class="bus-desc"]/li[1]/text()')
        ticket_info = tree.xpath('//ul[@class="bus-desc"]/li[2]/text()')
        up_car_route = tree.xpath('//div[@class="bus-lzlist mb15"][1]/ol/li/a/text()')
        down_car_route = tree.xpath('//div[@class="bus-lzlist mb15"][2]/ol/li/a/text()')
        item = {
                '公交路线':car_name,
                '运行时间':run_time,
                '票价信息':ticket_info,
                '去程信息':up_car_route,
                '回程信息':down_car_route
        }
        items.append(item)

def parse_num(b):
        r = requests.get(url=b,headers=headers)
        parse_car_num(r.text)

def parse_car_list(a):
        tree = etree.HTML(a)
        car_list = tree.xpath('//div[@class="bus-layer depth w120"]/div/div/a/@href')
        for href_list  in car_list:
                href_list1 = 'https://xiaogan.8684.cn'+href_list
                parse_num(href_list1)

def parse_page():
        url = 'https://xiaogan.8684.cn/'
        r = requests.get(url,headers=headers)
        parse_car_list(r.text)


def main():
        parse_page()
        fp = open('孝感公交.txt' 'w+', encoding='utf8')
        for item in items:
            fp.write(str(item))
        fp.close()


if __name__ == '__main__':
    main()


报错如下:Traceback (most recent call last):  File "C:/Users/Administrator/PycharmProjects/untitled5/cxm_test/python/unintest/test_a.py", line 104, in <module>    main()  File "C:/Users/Administrator/PycharmProjects/untitled5/cxm_test/python/unintest/test_a.py", line 97, in main    fp = open('孝感公交.txt' 'w+', encoding='utf8')FileNotFoundError: [Errno 2] No such file or directory: '孝感公交.txtw+'

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

yc19951005 发表于 2020-6-10 17:21
我试了可以运行的,只不过返回的列表是为空的,原因是因为fp = open('孝感公交.txt' 'w+', encoding='utf8')   这段代码少了一个, fp = open('孝感公交.txt' <这里少了一个逗号>'w+', encoding='utf8')
 楼主| chenduizhang 发表于 2020-6-10 23:44
yc19951005 发表于 2020-6-10 17:21
我试了可以运行的,只不过返回的列表是为空的,原因是因为fp = open('孝感公交.txt' 'w+', encoding='utf8' ...

感谢,原来是少了个逗号。确实返回的列表是空的,看来还是学艺不精,要继续努力了。
yc19951005 发表于 2020-6-11 09:43
chenduizhang 发表于 2020-6-10 23:44
感谢,原来是少了个逗号。确实返回的列表是空的,看来还是学艺不精,要继续努力了。

可能是xpath的路径不对  或者其他的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 09:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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