会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133312个问题
Python 全系列/第十五阶段:Python 爬虫开发/scrapy框架使用(旧) 676楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫基础(旧) 677楼

selenium webdriver
selenium.webdriver ActionChains
openpyxl workbook
base_urls = []
shop_names = []
m_names = []
prices = []
com_names = []
offers = []
driver_base(url):
    driver = webdriver.Chrome()
    driver.get(url)
    driver.set_window_size(=, =, =)
    driver.implicitly_wait()
    driver

p_url(driver,shop_page):
    input = driver.find_element_by_id()
    input.send_keys()
    botton = driver.find_element_by_xpath()
    botton.click()
    source = driver.find_element_by_xpath()
    target = driver.find_element_by_class_name()
    actions = ActionChains(driver)
    actions.drag_and_drop(source, target)
    actions.perform()
    base_url_0 = driver.find_elements_by_xpath()
    num (,(base_url_0)):
        base_urls.append(base_url_0[num].get_attribute())
    shop_page != :
        pn_next = driver.find_element_by_class_name()
        pn_next.click()
        shop_page = shop_page - :
            source = driver.find_element_by_xpath()
            target = driver.find_element_by_class_name()
            actions = ActionChains(driver)
            actions.drag_and_drop(source, target).perform()
            base_url_1 = driver.find_elements_by_xpath()
            num (, (base_url_1)):
                base_urls.append(base_url_1[num].get_attribute())
            base_url_1.clear()
        :
            (.format( shop_page))
        :
            (.format(shop_page))
    base_urls_1 = ((base_urls))
    (.format((base_urls_1)), , base_urls_1)
    base_urls_1

p_data(base_urls_1):
    y_num = (base_urls_1)
    href base_urls_1:
        y_num =y_num - (.format(y_num))
        href_driver = webdriver.Chrome()
        href_driver.get(href)
        href_driver.set_window_size(=, =, =)
        :
            shop_name = href_driver.find_element_by_xpath()
            shop_name = shop_name.text
            m_name = href_driver.find_element_by_xpath()
            m_name = m_name.text
            price = href_driver.find_element_by_xpath()
            price = price.text
            com_num = href_driver.find_element_by_xpath()
            com_num = com_num.text
            offer = href_driver.find_element_by_id()
            offer = offer.text
            shop_names.append(shop_name)
            m_names.append(m_name)
            prices.append(price)
            com_names.append(com_num)
            offers.append(offer)
            href_driver.close()
        :
            ()
    :
            save_data(shop_names, m_names, prices, com_names, offers)


save_data(shop_names,m_names,prices,com_names,offers):
    wb = workbook.Workbook()
    ws = wb.active
    ws.append([])
    ws.append([,, , , ,])
    n ((offers)):
        ws.append([n + ,shop_names[n],m_names[n],prices[n],com_names[n],offers[n]])
    wb.save()

__name__ == :
    shop_page = (())
    url = driver = driver_base(url)
    base_urls_1 = p_url(driver,shop_page)
    p_data(base_urls_1)
    driver.close()


Python 全系列/第十五阶段:Python 爬虫开发/爬虫反反爬- 678楼
Python 全系列/第十五阶段:Python 爬虫开发/移动端爬虫开发- 679楼
Python 全系列/第十五阶段:Python 爬虫开发/scrapy框架使用(旧) 681楼

scrapy02.rar

无法获取url

Python 全系列/第十五阶段:Python 爬虫开发/scrapy框架使用(旧) 683楼

image.png

Python 全系列/第十五阶段:Python 爬虫开发/scrapy框架使用 685楼
Python 全系列/第十五阶段:Python 爬虫开发/移动端爬虫开发- 686楼

xiaoshuo.rar

老师,我执行完,只能取到第一章,麻烦帮忙看看什么原因?

Python 全系列/第十五阶段:Python 爬虫开发/移动端爬虫开发- 688楼

老师,我爬取豆瓣电影代码如下:

from urllib.request import Request
from urllib.request import urlopen
from random import choice
from time import sleep


def get_html(url):
    user_agnet_list = [
        # 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)\
        #  Chrome/80.0.3987.132 Safari/537.36'
        # 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)123456',
        # 'Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11',
        # 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; TencentTraveler 4.0)',
        # 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; The World)',
        # 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; \
        # .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)',
        # 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
        # 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50(KHTML, like Gecko)\
        #  Version/5.1 Safari/534.50'
        'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
    ]
    choice_agent = choice(user_agnet_list)
    headers = {
        'User-Agent': choice_agent
    }
    request = Request(url, headers=headers)
    response = urlopen(request)
    return response.read().decode()


def save_html(html, filename):
    with open(filename, 'a', encoding='utf-8') as f:
        f.writelines(html)


def main():
    i = 0
    base_url = 'https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start={}&limit=20'
    while True:
        url = base_url.format(i * 20)
        html = get_html(url)
        if html == '[]':  # 返回值为[]时表示遍历完成,退出循环
            break
        else:
            print(html)
            save_html(html, 'a.html')
            i += 1
            sleep(3)
    # html=get_html(base_url)
    # print(html)


if __name__ == '__main__':
    main()

刚开始运行还能运行,后面运行提示:

image.png是不是被封ip了?如何解决?


Python 全系列/第十五阶段:Python 爬虫开发/爬虫基础(旧) 690楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637