When it comes to Web Scraping or Web Crawling Python and Java APIs beat PHP in terms of performance. You can use BeautifulSoup for Python and Jsoup for Java.
Well, for scraping a website I would recommend you Scrapy, which is written in python. But, if you really want make something to scrap websites with PHP, you shoud look at Goutte as a "client" to interact with the page, using Xpath/CSS selector/Regex and Guzzle to create the request (async request or not, batch of request or not, etc).
It's possible to create something very good with these two.
Ah and don't forget, use the last version of php for better performance.
Off topic:
if you encounter client-side dynamics websites you have two possible ways: integrate with something like selenium (this is way too slow) or request the endpoints that the website does and get info direct (usually an api rest).