Python Web Scraper:我的脚本只是打印第一个,而不是全部?

斯特凡

m making a python web scraper for a project, It得到了我想要的所有信息,但唯一的问题是他为第一个个人资料做了这件事而没有得到其他人

我试图找出问题,但我被卡住了,任何建议都会有所帮助

import requests
    import pandas
    from bs4 import BeautifulSoup
    
    
    base_url = "https://www.ratemds.com/best-doctors/?page=1"
    for page in range(1, 2, 1):
        r = requests.get(base_url)
        c = r.content
        soup = BeautifulSoup(c, 'html.parser')
        all = soup.find_all("div", {"class": "search-item doctor-profile"})
        l = []
        for item in all:
            d = {}
            d["Name"] = item.find("a", {"class": "search-item-doctor-link"}).text
            d["Phone Number"] = item.find("div", {"class": "search-item-specialty"}).text
            n = item.find("a", {"class": "search-item-doctor-link"})
            a = n.get('href')
            new_url = ("https://www.ratemds.com"+a)
            r1 = requests.get(new_url)
            c1 = r1.content
            soup1 = BeautifulSoup(c1, 'html.parser')
            sve = soup1.find_all("div", {"class": "col-sm-3 col-md-4 search-item-extra"})
            for profil in sve:
                try:
                    d["Phone Number"] = profil.find("meta", itemprop = "telephone")["content"]
                except:
                    d["Phone Number"] = None
                try:
                    d["Adress"] =  profil.find("meta", itemprop = "streetAddress")["content"]
                except:
                    d["Adress"] = None
                try:
                    d["Website"] =  profil.find("a", itemprop = "sameAs")["href"]
                except:
                    d["Website"] = None
                pass
    l.append(d)
    df = pandas.DataFrame(l)
    df.to_csv("123.csv")
    print(df)
克里斯

这是您的代码,进行了一些调整:

base_url = "https://www.ratemds.com/best-doctors/?page={}"  # Change base url to this
# Moved the list of dicts outsided of the main loop
l = []

for page in range(1, 5):
    r = requests.get(base_url.format(page))   #  substitute 'page' variable in base_url
    c = r.content
    soup = BeautifulSoup(c, 'html.parser')
    all = soup.find_all("div", {"class": "search-item doctor-profile"})
    for item in all:
        d = {}
        d["Name"] = item.find("a", {"class": "search-item-doctor-link"}).text
        d["Phone Number"] = item.find("div", {"class": "search-item-specialty"}).text
        n = item.find("a", {"class": "search-item-doctor-link"})
        a = n.get('href')
        new_url = ("https://www.ratemds.com"+a)
        r1 = requests.get(new_url)
        c1 = r1.content
        soup1 = BeautifulSoup(c1, 'html.parser')
        sve = soup1.find_all("div", {"class": "col-sm-3 col-md-4 search-item-extra"})
        for profil in sve:
            try:
                d["Phone Number"] = profil.find("meta", itemprop = "telephone")["content"]
            except:
                d["Phone Number"] = None
            try:
                d["Adress"] =  profil.find("meta", itemprop = "streetAddress")["content"]
            except:
                d["Adress"] = None
            try:
                d["Website"] =  profil.find("a", itemprop = "sameAs")["href"]
            except:
                d["Website"] = None
            pass
        l.append(d)  # indented this line to append within this loop

df = pd.DataFrame(l)
df.to_csv("123.csv")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Web 抓取 Pubmed Abstract - “Abstract”与第一个单词 (例如,“AbstractINTRODUCTION:”) 合并

来自分类Dev

Python Web Scraper打印问题

来自分类Dev

Python 字典打印第一个单词的行为

来自分类Dev

我的第一个casper.js脚本是从python调用的

来自分类Dev

我的脚本仅执行到数据框Python上的第一个元素

来自分类Dev

接收我从第一个Python脚本调用的第二个Python脚本的输出

来自分类Dev

Python,第一个列表索引-上一个列表索引,然后打印

来自分类Dev

我将嵌套列表作为Python字典的条目。如何打印第一个元素为“ S”的嵌套列表?

来自分类Dev

我将嵌套列表作为Python字典的条目。如何打印第一个元素为“ S”的嵌套列表?

来自分类Dev

如何从第一个python脚本启动几个python脚本,然后立即终止它们?

来自分类Dev

在继续第一个脚本之前运行第二个 python 脚本

来自分类Dev

第一个Python对象

来自分类Dev

Python Web Scraper-尝试使程序在一个特定位置而非整个页面上刮取数据

来自分类Dev

如果第一个文件不是最后一行,则 Python 从文件开头开始

来自分类Dev

获得第一个Google Image Web服务

来自分类Dev

使用mysqlcursor覆盖第一个字符的Python打印功能

来自分类Dev

在 Python 中打印字符串的第一个非重复字符

来自分类Dev

将数字写入文件 python。第一个输入不打印

来自分类Dev

Python stdout和for循环不会打印列表中的第一个元素(第二个元素替换了第一个)

来自分类Dev

将批量注入 KairosDB 的 Python 脚本 - 仅插入第一个批量,其余忽略

来自分类Dev

如何让 Python 使用 csv 读取一行中的第一个单词而不是第一个字符?

来自分类Dev

使用python Web Scraper提取n个图像

来自分类Dev

从我的python脚本运行一个perl脚本,打印输出并等待其完成

来自分类Dev

我的第一个项目(Python)中发生了奇怪的意外动作

来自分类Dev

如何在我的第一个pygame Python项目中移动Rocket

来自分类Dev

使用 python 3.6 向带有令牌的 API 发出我的第一个请求

来自分类Dev

在python中我需要删除第一个字母

来自分类Dev

Web Scraper用于python中的动态表单

来自分类Dev

Python Youtube Web Scraper无法正常工作

Related 相关文章

  1. 1

    Python Web 抓取 Pubmed Abstract - “Abstract”与第一个单词 (例如,“AbstractINTRODUCTION:”) 合并

  2. 2

    Python Web Scraper打印问题

  3. 3

    Python 字典打印第一个单词的行为

  4. 4

    我的第一个casper.js脚本是从python调用的

  5. 5

    我的脚本仅执行到数据框Python上的第一个元素

  6. 6

    接收我从第一个Python脚本调用的第二个Python脚本的输出

  7. 7

    Python,第一个列表索引-上一个列表索引,然后打印

  8. 8

    我将嵌套列表作为Python字典的条目。如何打印第一个元素为“ S”的嵌套列表?

  9. 9

    我将嵌套列表作为Python字典的条目。如何打印第一个元素为“ S”的嵌套列表?

  10. 10

    如何从第一个python脚本启动几个python脚本,然后立即终止它们?

  11. 11

    在继续第一个脚本之前运行第二个 python 脚本

  12. 12

    第一个Python对象

  13. 13

    Python Web Scraper-尝试使程序在一个特定位置而非整个页面上刮取数据

  14. 14

    如果第一个文件不是最后一行,则 Python 从文件开头开始

  15. 15

    获得第一个Google Image Web服务

  16. 16

    使用mysqlcursor覆盖第一个字符的Python打印功能

  17. 17

    在 Python 中打印字符串的第一个非重复字符

  18. 18

    将数字写入文件 python。第一个输入不打印

  19. 19

    Python stdout和for循环不会打印列表中的第一个元素(第二个元素替换了第一个)

  20. 20

    将批量注入 KairosDB 的 Python 脚本 - 仅插入第一个批量,其余忽略

  21. 21

    如何让 Python 使用 csv 读取一行中的第一个单词而不是第一个字符?

  22. 22

    使用python Web Scraper提取n个图像

  23. 23

    从我的python脚本运行一个perl脚本,打印输出并等待其完成

  24. 24

    我的第一个项目(Python)中发生了奇怪的意外动作

  25. 25

    如何在我的第一个pygame Python项目中移动Rocket

  26. 26

    使用 python 3.6 向带有令牌的 API 发出我的第一个请求

  27. 27

    在python中我需要删除第一个字母

  28. 28

    Web Scraper用于python中的动态表单

  29. 29

    Python Youtube Web Scraper无法正常工作

热门标签

归档