代码之家  ›  专栏  ›  技术社区  ›  ashishkumar148

如何在python中实现web抓取

  •  0
  • ashishkumar148  · 技术社区  · 8 年前

    我刚接触python,刚刚开始学习python web scraping。我必须从中提取数据 realtor site

    我需要把所有的细节都删掉 读取状态代理 根据他们的 房地产代理 ; 为了这个 在网络浏览器上,我必须遵循以下说明

    1. this site
    2. 点击代理办公室按钮,在搜索框中输入4000 pin,然后提交。
    3. 然后我们得到 机构
    4. 代理页面 并记录他们的信息。

    谁能告诉我怎么做。 制造这种刮刀的最好方法是什么。

    我必须使用吗

    我一直在努力 要求 , BeautifulSoup公司 和使用 机械化

    2 回复  |  直到 4 年前
        1
  •  1
  •   AceLewis    8 年前

    我建议您在搜索网站上使用Selenium或通过会话请求,Selenium的优点是它可能会工作,但速度会很慢。对于Selenium,您只需使用Selenium IDE(Firefox插件)记录所做的事情,然后从网页中获取HTML,并使用beautifulsoup解析数据。

    如果你想快速地抓取数据,而不需要使用太多资源,我通常会在会话中使用请求。要浏览这样的网站,你应该打开一个现代网络浏览器(Firefox、Chrome),并使用该浏览器的网络工具(通常位于开发者工具中或通过右键单击inspect元素)。录制网络后,您可以与网页交互,查看与服务器的连接。在示例搜索中,他们可能会使用建议,例如

    https://suggest.example.com.au/smart-suggest?query=4000&n=7&regions=false
    

    然后,响应可能是建议结果的JSON。一旦你选择了一个建议,你就可以提交一个带有搜索参数的请求,例如

    https://www.example.com.au/find-agent/agents/petrie-terrace-qld-4000
    

    代理的URL将位于该HTML页面中,然后您需要分别向每个页面发送请求,以使用BeautifulSoup获取信息。

        2
  •  1
  •   Asim Mittal    8 年前

    您可能想试试Node和Jquery。我过去一直在使用Python,但过了一段时间后它变得凌乱且难以维护。

    使用node,您可以将页面HTML转换为DOM对象,然后使用Jquery轻松地刮取所有数据。我在这里为imdb做了这件事:使用JQuery&NodeJS to scrape the web@Asimmital https://medium.com/@asimmittal/using-jquery-nodejs-to-scrape-the-web-9bb5d439413b

    你可以修改它来刮yelp